Houdiniメモ : DOP : 地面を砕いて上昇させる
DOPで地面の破片をバラバラに上昇させる方法のメモ (環境: Houdini 18.0.287, Indieライセンス)
https://gyazo.com/cf4c285b0eeb6ad5dae101b05d8753f1
1. 地面を砕く
Voronoi Fractureノードを使用して板を砕き、Poly Extrudeノードで厚みを付けます。
table:使用ノード
Grid 板の作成
Scatter 板の表面に点をばら撒く
Voronoi Fracture 破片の作成
Poly Extrure 厚みをつける
https://gyazo.com/8f7104d1f4d6140802ea781a19e934f1
2. RBD Objectsの適用
画面上部メニューからRBD Objectsシェルフをクリックし、次にオブジェクトをクリックしてEnterキーを押します。
オブジェクトがRBD Objects化されます。(リジッドボディダイナミクス)
https://gyazo.com/e866c46fdf1c1f070880c06e7988beec
うまくいくとNetworkビューにAutoDopNetworkノードが作成されます。
https://gyazo.com/d201eb5cd4baeac5ee00c2a76b1e7a2e
3. 上方向の重力を与える
AutoDopNetworkの中に入り、以下を行います。
gravity1を無効化(BypassフラグをONにする)
Pop Wrangleノードを作成し、rigidbodysolver1に接続(Pre-Solverの部分に接続します)
https://gyazo.com/b880d34624186cbfe53c876fada4a36c
Pop Wrangleノードで速度@vをY軸上向きに設定するようなVEXを記述します。
code:popwrangle1(C++)
@v = set(0, @primnum * 0.01, 0); // @primnumはジオメトリごとに与えられる番号
https://gyazo.com/ee89298d56449ab39ce2887dbbf1ad92
キーボードの上キーを入力して再生すると、プリミティブがバラバラに上昇します。
https://gyazo.com/cf4c285b0eeb6ad5dae101b05d8753f1
応用 : 回転を加えてみる
POP Spinノードを利用すると回転の動きを与えることができます。
https://gyazo.com/56ee6f84e831250c16e7e87ddbd56edb https://gyazo.com/aead7de1cb6d3ae1291f233c1ca8f2c4
参考URL
リジッドボディダイナミクス - SideFX